package cn.yangliu.springbatch.entity;

import lombok.EqualsAndHashCode;

import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.sql.Timestamp;

/**
 * the type of springbatch
 *
 * <p>
 * .
 *
 * @author 杨柳
 * @date 2021-07-13
 */
@Entity
@EqualsAndHashCode
@Table(name = "batch_step_execution")
public class BatchStepExecution {

    private Long stepExecutionId;
    private Long jobExecutionId;
    private Long version;
    private String stepName;
    private Timestamp startTime;
    private Timestamp endTime;
    private String status;
    private Long commitCount;
    private Long readCount;
    private Long filterCount;
    private Long writeCount;
    private Long readSkipCount;
    private Long writeSkipCount;
    private Long processSkipCount;
    private Long rollbackCount;
    private String exitCode;
    private String exitMessage;
    private Timestamp lastUpdated;

    /**
     * instance member witch named stepExecutionId's setter
     * for set field witch named stepExecutionId's value
     *
     * @param stepExecutionId stepExecutionId
     */
    public BatchStepExecution setStepExecutionId(Long stepExecutionId) {
        this.stepExecutionId = stepExecutionId;
        return this;
    }

    /**
     * instance member witch named jobExecutionId‘s getter
     * <p>
     * for get field witch named jobExecutionId’s value
     *
     * @return jobExecutionId
     */
    @Column(name = "JOB_EXECUTION_ID", nullable = false)
    public Long getJobExecutionId() {
        return jobExecutionId;
    }

    /**
     * instance member witch named jobExecutionId's setter
     * for set field witch named jobExecutionId's value
     *
     * @param jobExecutionId jobExecutionId
     */
    public BatchStepExecution setJobExecutionId(Long jobExecutionId) {
        this.jobExecutionId = jobExecutionId;
        return this;
    }

    /**
     * instance member witch named version's setter
     * for set field witch named version's value
     *
     * @param version version
     */
    public BatchStepExecution setVersion(Long version) {
        this.version = version;
        return this;
    }

    /**
     * instance member witch named stepExecutionId‘s getter
     * <p>
     * for get field witch named stepExecutionId’s value
     *
     * @return stepExecutionId
     */
    @Id
    @Column(name = "STEP_EXECUTION_ID", nullable = false)
    public long getStepExecutionId() {
        return stepExecutionId;
    }

    /**
     * instance member witch named stepExecutionId's setter
     * for set field witch named stepExecutionId's value
     *
     * @param stepExecutionId stepExecutionId
     */
    public void setStepExecutionId(long stepExecutionId) {
        this.stepExecutionId = stepExecutionId;
    }

    /**
     * instance member witch named version‘s getter
     * <p>
     * for get field witch named version’s value
     *
     * @return version
     */
    @Basic
    @Column(name = "VERSION", nullable = false)
    public long getVersion() {
        return version;
    }

    /**
     * instance member witch named version's setter
     * for set field witch named version's value
     *
     * @param version version
     */
    public void setVersion(long version) {
        this.version = version;

    }

    /**
     * instance member witch named stepName‘s getter
     * <p>
     * for get field witch named stepName’s value
     *
     * @return stepName
     */
    @Basic
    @Column(name = "STEP_NAME", nullable = false, length = 100)
    public String getStepName() {
        return stepName;
    }

    /**
     * instance member witch named stepName's setter
     * for set field witch named stepName's value
     *
     * @param stepName stepName
     */
    public void setStepName(String stepName) {
        this.stepName = stepName;

    }

    /**
     * instance member witch named startTime‘s getter
     * <p>
     * for get field witch named startTime’s value
     *
     * @return startTime
     */
    @Basic
    @Column(name = "START_TIME", nullable = false)
    public Timestamp getStartTime() {
        return startTime;
    }

    /**
     * instance member witch named startTime's setter
     * for set field witch named startTime's value
     *
     * @param startTime startTime
     */
    public void setStartTime(Timestamp startTime) {
        this.startTime = startTime;

    }

    /**
     * instance member witch named endTime‘s getter
     * <p>
     * for get field witch named endTime’s value
     *
     * @return endTime
     */
    @Basic
    @Column(name = "END_TIME")
    public Timestamp getEndTime() {
        return endTime;
    }

    /**
     * instance member witch named endTime's setter
     * for set field witch named endTime's value
     *
     * @param endTime endTime
     */
    public void setEndTime(Timestamp endTime) {
        this.endTime = endTime;

    }

    /**
     * instance member witch named status‘s getter
     * <p>
     * for get field witch named status’s value
     *
     * @return status
     */
    @Basic
    @Column(name = "STATUS", length = 10)
    public String getStatus() {
        return status;
    }

    /**
     * instance member witch named status's setter
     * for set field witch named status's value
     *
     * @param status status
     */
    public void setStatus(String status) {
        this.status = status;

    }

    /**
     * instance member witch named commitCount‘s getter
     * <p>
     * for get field witch named commitCount’s value
     *
     * @return commitCount
     */
    @Basic
    @Column(name = "COMMIT_COUNT")
    public Long getCommitCount() {
        return commitCount;
    }

    /**
     * instance member witch named commitCount's setter
     * for set field witch named commitCount's value
     *
     * @param commitCount commitCount
     */
    public void setCommitCount(Long commitCount) {
        this.commitCount = commitCount;

    }

    /**
     * instance member witch named readCount‘s getter
     * <p>
     * for get field witch named readCount’s value
     *
     * @return readCount
     */
    @Basic
    @Column(name = "READ_COUNT")
    public Long getReadCount() {
        return readCount;
    }

    /**
     * instance member witch named readCount's setter
     * for set field witch named readCount's value
     *
     * @param readCount readCount
     */
    public void setReadCount(Long readCount) {
        this.readCount = readCount;

    }

    /**
     * instance member witch named filterCount‘s getter
     * <p>
     * for get field witch named filterCount’s value
     *
     * @return filterCount
     */
    @Basic
    @Column(name = "FILTER_COUNT")
    public Long getFilterCount() {
        return filterCount;
    }

    /**
     * instance member witch named filterCount's setter
     * for set field witch named filterCount's value
     *
     * @param filterCount filterCount
     */
    public void setFilterCount(Long filterCount) {
        this.filterCount = filterCount;

    }

    /**
     * instance member witch named writeCount‘s getter
     * <p>
     * for get field witch named writeCount’s value
     *
     * @return writeCount
     */
    @Basic
    @Column(name = "WRITE_COUNT")
    public Long getWriteCount() {
        return writeCount;
    }

    /**
     * instance member witch named writeCount's setter
     * for set field witch named writeCount's value
     *
     * @param writeCount writeCount
     */
    public void setWriteCount(Long writeCount) {
        this.writeCount = writeCount;

    }

    /**
     * instance member witch named readSkipCount‘s getter
     * <p>
     * for get field witch named readSkipCount’s value
     *
     * @return readSkipCount
     */
    @Basic
    @Column(name = "READ_SKIP_COUNT")
    public Long getReadSkipCount() {
        return readSkipCount;
    }

    /**
     * instance member witch named readSkipCount's setter
     * for set field witch named readSkipCount's value
     *
     * @param readSkipCount readSkipCount
     */
    public void setReadSkipCount(Long readSkipCount) {
        this.readSkipCount = readSkipCount;

    }

    /**
     * instance member witch named writeSkipCount‘s getter
     * <p>
     * for get field witch named writeSkipCount’s value
     *
     * @return writeSkipCount
     */
    @Basic
    @Column(name = "WRITE_SKIP_COUNT")
    public Long getWriteSkipCount() {
        return writeSkipCount;
    }

    /**
     * instance member witch named writeSkipCount's setter
     * for set field witch named writeSkipCount's value
     *
     * @param writeSkipCount writeSkipCount
     */
    public void setWriteSkipCount(Long writeSkipCount) {
        this.writeSkipCount = writeSkipCount;

    }

    /**
     * instance member witch named processSkipCount‘s getter
     * <p>
     * for get field witch named processSkipCount’s value
     *
     * @return processSkipCount
     */
    @Basic
    @Column(name = "PROCESS_SKIP_COUNT")
    public Long getProcessSkipCount() {
        return processSkipCount;
    }

    /**
     * instance member witch named processSkipCount's setter
     * for set field witch named processSkipCount's value
     *
     * @param processSkipCount processSkipCount
     */
    public void setProcessSkipCount(Long processSkipCount) {
        this.processSkipCount = processSkipCount;

    }

    /**
     * instance member witch named rollbackCount‘s getter
     * <p>
     * for get field witch named rollbackCount’s value
     *
     * @return rollbackCount
     */
    @Basic
    @Column(name = "ROLLBACK_COUNT")
    public Long getRollbackCount() {
        return rollbackCount;
    }

    /**
     * instance member witch named rollbackCount's setter
     * for set field witch named rollbackCount's value
     *
     * @param rollbackCount rollbackCount
     */
    public void setRollbackCount(Long rollbackCount) {
        this.rollbackCount = rollbackCount;

    }

    /**
     * instance member witch named exitCode‘s getter
     * <p>
     * for get field witch named exitCode’s value
     *
     * @return exitCode
     */
    @Basic
    @Column(name = "EXIT_CODE", length = 2500)
    public String getExitCode() {
        return exitCode;
    }

    /**
     * instance member witch named exitCode's setter
     * for set field witch named exitCode's value
     *
     * @param exitCode exitCode
     */
    public void setExitCode(String exitCode) {
        this.exitCode = exitCode;

    }

    /**
     * instance member witch named exitMessage‘s getter
     * <p>
     * for get field witch named exitMessage’s value
     *
     * @return exitMessage
     */
    @Basic
    @Column(name = "EXIT_MESSAGE", length = 2500)
    public String getExitMessage() {
        return exitMessage;
    }

    /**
     * instance member witch named exitMessage's setter
     * for set field witch named exitMessage's value
     *
     * @param exitMessage exitMessage
     */
    public void setExitMessage(String exitMessage) {
        this.exitMessage = exitMessage;

    }

    /**
     * instance member witch named lastUpdated‘s getter
     * <p>
     * for get field witch named lastUpdated’s value
     *
     * @return lastUpdated
     */
    @Basic
    @Column(name = "LAST_UPDATED")
    public Timestamp getLastUpdated() {
        return lastUpdated;
    }

    /**
     * instance member witch named lastUpdated's setter
     * for set field witch named lastUpdated's value
     *
     * @param lastUpdated lastUpdated
     */
    public void setLastUpdated(Timestamp lastUpdated) {
        this.lastUpdated = lastUpdated;

    }

}
